CONTENTS | INDEX | PREV | NEXT
COMMENTS
Registerized parameteres are now implemented. The implementation
turned out to be not all that complex. However, you cannot as yet
specify WHICH registers parameters are to be placed for a call.
Refer to the -mRR option in DCC.DOC
Inline library calls are not implemented. Inline library calls are
actually useful and when properly implemented increase efficiency to
low level calls such as AddHead() and GetMsg(). Other calls such as
Move() and Draw() do not increase noticably in efficiency. #pragma's
must be used to define inline calls and this makes the compiler
enviroment less portable. Lattice made a big mistake *requiring* the
use of inline library calls with residentable programs. My solution
was to write a program to convert AMIGA**.LIB into a small-data version
of same called AMIGAS**.LIB.
DICE still uses tags for library calls, but fully registerized tags are
now available to registered users which significantly reduces library
call overhead to the point where it's only a few cycles slower than a
SAS/C inline call, and without the hassle.
Similarly, I have not implemented prototype and amiga-library function
array support in the compiler or linker but instead have provided
separate programs to aid in this. While less automated than SAS/C,
this support is MUCH more portable and, in my opinion, much cleaner, as
well as more easily maintained.
In general, I refuse to implement a thousand nearly useless features
that will only introduce more bugs into the compiler.